package com.octopus.core.collector;

import com.octopus.core.OctopusListener;
import com.octopus.core.Response;
import com.octopus.core.parser.ParseResult;
import com.octopus.core.result.Result;

/**
 * 爬取信息收集器，扩展此接口以实现数据落地存储。
 *
 * <p>负责收集保存页面解析结果
 *
 * @see com.octopus.core.parser.Parser
 * @see ParseResult#body()
 * @author shoulai.yang@gmail.com
 * @date 2019/07/31
 */
public interface Collector extends OctopusListener {

  /**
   * 收集存储采集信息
   *
   * @param result 页面解析结果
   * @param response 响应内容
   * @see com.octopus.core.parser.Parser#parse(Response)
   * @see ParseResult#body()
   */
  void collect(Result result, Response response);
}
